// 全选功能
$('.selectall').click(function () {
    let sel = $(this).prop('checked');  //获取全选框状态
    $('.single,.selectall').prop('checked', sel);  //把状态付给其他框框和另一个全选框
    totle();
    totleNum();
})

// 取消全选
$('.single').click(function () {
    let allNum = $('.single').length; //单选框总个数
    let checkedNum = $('.single:checked').length;  //选中状态框框个数
    if (checkedNum == allNum) {   //判断，个数一致全选框变为选中状态，否则不选中
        $('.selectall').prop('checked', true);
    } else {
        $('.selectall').prop('checked', false);

    }
    totle();
    totleNum();
})

// 数量加减
$('.add').click(function () {
    let numVal = $(this).siblings('.num').val();
    numVal++;
    $(this).siblings('.num').val(numVal);
    //价格加
    calc(this, numVal);
    totle();
    totleNum();
})
$('.redu').click(function () {
    let numVal = $(this).siblings('.num').val();
    numVal--;

    $(this).siblings('.num').val(numVal);
    if (numVal < 1) {
        numVal = 1;
        $(this).siblings('.num').val(numVal);

    }

    console.log(numVal);
    calc(this, numVal)
    totle();
    totleNum();
})

/*封装函数进行单个商品价格计算
obj:事件源
numVal:数量
*/
function calc(obj, numVal) {
    let singleP = $(obj).parent().parent().siblings('.singlePrice').html();//获取单价
    let allPrice = numVal * singleP;
    $(obj).parent().parent().siblings('.price').html(allPrice.toFixed(2));
}

//总价计算
function totle() {
    let sum = 0;
    $('.single:checked').each(function (index, dom) {
        let price = $(dom).parent().siblings('.price').html();
        sum = sum + parseFloat(price);
        // console.log(price);
    });
    $('#totle').html(sum.toFixed(2));
}
// 计算总个数
function totleNum() {
    let sum = 0;
    $('.single:checked').each(function (index, dom) {
        let price = $(dom).parent().siblings().find('.num').val();
        sum = sum + parseFloat(price);
    });
    $('#selectnum').html(sum);
}
//键盘输入购买的数量
$('.num').blur(function () {
    let value = $(this).val();
    if (isNaN(value) || value <= 0) {
        $(this).val('1');
    } else if (value > 200) {
        $(this).val('200');
    }
    value = $(this).val();
    calc(this, value);
    totle();
    totleNum();
})


// 删除
$('.del').click(function () {
    $(this).parent().parent().remove();
    totle();
    totleNum();
})

$('.delselect').click(function () {
    $('.single:checked').parent().parent().remove();
    totle();
    totleNum();
})


